package com.msb.common.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Author: lmf
 * @Create: 2025/3/13 11:02
 * @module 短信发送汇报
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class StandardReport implements Serializable {


    /**
     * 客户端携带的apikey
     */
    private String apiKye;
    /**
     * 针对当前短信的唯一id 雪花算法生成
     */
    private Long sequenceId;
    /**
     * 客户id 基于apikey得到查询缓存模块得到客户id
     */
    private Long clientId;


    /**
     * 客户业务内的id  请求传递
     */
    private String uid;

    /**
     * 目标手机号 请求传递
     */
    private String mobile;


    /**
     * 短信发送时间 当前系统时间
     */
    private LocalDateTime sendTime;

    /**
     * 短信的发送状态 0:等待，1：成功，2：失败  默认0
     */
    private Integer reportState;

    /**
     * 短息发送失败的原因
     */
    private String errorMessage;

    /**
     * 是否推送
     */
    private Integer isCallback;
    /**
     * 推送的url
     */
    private String callbackUrl;
    /**
     * rabbitmq重试次数
     */
    private Integer retryCount  = 0;

    /**
     * 如果第一次修改操作，这里为false，如果是第二次投递，需要直接记录日志信息
     */
    private Boolean reUpdate = false;
}
